using System;
using System.Collections.Generic;
using System.Data;
using System.ServiceModel;

namespace ZhiHeng.Consume.DataContract
{
    [ServiceContract(Namespace = "http://www.zhiheng.com.cn")]
    public interface IActionService
    {
        [OperationContract]
        List<sp_Catalog_Result> QueryCatalog(string goodType, int mercAcc);
        //[OperationContract]
        //void UserGroupDelete(operatorGroup operatorGroup);

        [OperationContract]
        void UserGroupUpdate(operatorGroup operatorGroup);
        [OperationContract]
        List<sp_mercaccScope_Result> GetMercaccScope(int meracc);
        [OperationContract]
        List<sp_ScanGood_Result> ScanGoods(string code, int meracc);
        [OperationContract]
        int BindBoxCard(string keyId, string cardNo, string Operator);
        [OperationContract]
        DataSet GetSystemReport(string reportName, string[] parameters);
        [OperationContract]
        int Storage(int meracc, int goodID, string goodCode, int inventory);
        [OperationContract]
        SP_AccordingToCARDIDForGuiID_Result QueryGuiId(string cardNo);
        [OperationContract]
        List<SP_QueryTranData_Result> QueryTran(string keyID);
        [OperationContract]
        List<SP_QueryAccount_Result> QueryAccount(uint cardNo);
        [OperationContract]
        List<sp_SendCardNum_Result> SendNum();
        [OperationContract]
        int CheckAuth(uint cardNo, int tranAmt);
        [OperationContract]
        sp_QueryCardGuiRent_Result QueryCardGuiRent();
        [OperationContract]
        sp_CheckEquipment_Result CheckEquipment(uint cardNo);
        [OperationContract]
        List<sp_QuerySuperMKTSub_Result> QuerySuperMKTSub(string code, int flagIndex);
        [OperationContract]
        List<sp_QueryTrjn_Result> QueryTrjn(string keyId, DateTime startDate, DateTime endDate);

        [OperationContract]
        List<SP_T_BoxSelect_Result> BoxSelect(string arearid, int gui);

        [OperationContract]
        int Add(string t, string entityXml);
        [OperationContract]
        //Count using a file
        long Count(string t, string predicate, string parameters);
        //Delete an existing entity
        [OperationContract]
        int Delete(string t, string entityXml);
        //List the entities using a filter
        [OperationContract]
        string GetAll(string t, bool loadProperty, string predicate, string parameters);
        //Get a single entity
        [OperationContract]
        string GetSingle(string t, bool loadProperty, string predicate, string parameters);
        //Update an existing entity
        [OperationContract]
        int Update(string t, string entityXml);
    }
}